package com.sml.pojo;

import com.fasterxml.jackson.annotation.JsonIgnore;
import jakarta.validation.constraints.Email;
import jakarta.validation.constraints.NotEmpty;
import jakarta.validation.constraints.NotNull;
import jakarta.validation.constraints.Pattern;
import lombok.Data;

import java.time.LocalDateTime;

@Data
public class User {
    // 主键ID
    @NotNull //值不能为空
    private Integer id;
    // 用户名
    private String username;
    // 密码
    @JsonIgnore // 让springmvc把当前对象转换为json时，忽略password
    private String password;
    // 昵称
    @NotEmpty(message = "昵称不能为空") //值不能为null，并且内容不能为空
    @Pattern(regexp = "^\\S{1,10}$", message = "昵称格式错误")
    private String nickname;
    // 邮箱
    @NotNull(message = "邮箱不能为空") //值不能为空
    @Email(message = "邮箱格式不正确") //邮箱格式校验
    private String email;
    //用户头像--驼峰命名
    private String userPic;
    // 创建时间--驼峰命名
    private LocalDateTime createTime;
    // 更新时间--驼峰命名
    private LocalDateTime updateTime;
}
